package com.security.util;

/**
 * @author xuweizhi
 */
public class MD5 {

    ////公盐
    //private static final String PUBLIC_SALT = "imooc:" ;
    ////十六进制下数字到字符的映射数组
    //private final static String[] hexDigits = {"0", "1", "2", "3", "4",
    //    "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
    //
    ///**
    // * 用户密码加密，盐值为 ：私盐+公盐
    // * @param  password 密码
    // * @param  salt 私盐
    // * @return  MD5加密字符串
    // */
    //public static String encryptPassword(String password,String salt){
    //    return encodeByMD5(PUBLIC_SALT+password+salt);
    //}
    //
    ///**
    // * md5加密算法
    // * @param  originString
    // * @return
    // */
    //private static String encodeByMD5(String originString){
    //    if (originString != null){
    //        try{
    //            //创建具有指定算法名称的信息摘要
    //            MessageDigest md = MessageDigest.getInstance("MD5");
    //            //使用指定的字节数组对摘要进行最后更新，然后完成摘要计算
    //            byte[] results = md.digest(originString.getBytes());
    //            //将得到的字节数组变成字符串返回
    //            String resultString = byteArrayToHexString(results);
    //            return resultString.toUpperCase();
    //        } catch(Exception ex){
    //            ex.printStackTrace();
    //        }
    //    }
    //    return null;
    //}
    //
    ///**
    // * 转换字节数组为十六进制字符串
    // * @param     字节数组
    // * @return    十六进制字符串
    // */
    //private static String byteArrayToHexString(byte[] b){
    //    StringBuffer resultSb = new StringBuffer();
    //    for (int i = 0; i < b.length; i++){
    //        resultSb.append(byteToHexString(b[i]));
    //    }
    //    return resultSb.toString();
    //}
    //
    ///** 将一个字节转化成十六进制形式的字符串     */
    //private static String byteToHexString(byte b){
    //    int n = b;
    //    if (n < 0) {
    //        n = 256 + n;
    //    }
    //    int d1 = n / 16;
    //    int d2 = n % 16;
    //    return hexDigits[d1] + hexDigits[d2];
    //}
    //
    //@Test
    //public void testMD5(){
    //    //确定计算方法
    //    MessageDigest md5= null;
    //    try {
    //        md5 = MessageDigest.getInstance("MD5");
    //    } catch (NoSuchAlgorithmException e) {
    //        e.printStackTrace();
    //    }
    //    //加密后的字符串
    //    String NewStr=new BASE64Encoder().encode(md5.digest("imoocsecret".getBytes()));
    //    System.out.println("加密之前的字符串:"+"123456"+"   加密之后的字符串:"+NewStr);
    //
    //}
}
